home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 330_03 / tsksioi.asm < prev    next >
Assembly Source File  |  1990-10-10  |  1KB  |  71 lines

  1. ;
  2. ;    --- Version 2.2 90-10-12 10:46 ---
  3. ;
  4. ;    CTask - SIO interrupt handler (IBM specific)
  5. ;
  6. ;    Public Domain Software written by
  7. ;        Thomas Wagner
  8. ;        Ferrari electronic Gmbh
  9. ;        Beusselstrasse 27
  10. ;        D-1000 Berlin 21
  11. ;        Germany
  12. ;
  13. ;    This file is new with version 1.2.
  14. ;
  15. ;    To avoid stack overflows while processing serial interrupts in
  16. ;    the tsksio module, all SIO interrupts are routed through the
  17. ;    "envelope" routines defined here.
  18. ;
  19.     name    tsksioi
  20. ;
  21.     include    tsk.mac
  22. ;
  23.     .tsk_model
  24. ;
  25.     public    tsksio_int2
  26.     public    tsksio_int3
  27.     public    tsksio_int4
  28.     public    tsksio_int5
  29.     public    tsksio_int7
  30.     public    tsksio_int10
  31.     public    tsksio_int11
  32.     public    tsksio_int12
  33.     public    tsksio_int15
  34. ;
  35.         Locext    tsk_switch_stack
  36.     Locext    tsk_sio_int
  37. ;
  38. sioint    macro    irq
  39. ;
  40. tsksio_int&irq    proc    far
  41.         call    tsk_switch_stack
  42.     callp    tsk_sio_int,<irq>
  43.         cli
  44.     mov    al,20h
  45.     IF    irq GE 8
  46.     out    0a0h,al
  47.     ENDIF
  48.     out    20h,al
  49.     iret
  50. ;
  51. tsksio_int&irq    endp
  52. ;
  53.     endm
  54. ;
  55. ;
  56.     .tsk_code
  57. ;
  58.     sioint    2
  59.     sioint    3
  60.     sioint    4
  61.     sioint    5
  62.     sioint    7
  63.     sioint    10
  64.     sioint    11
  65.     sioint    12
  66.     sioint    15
  67. ;
  68.     .tsk_ecode
  69.     end
  70.  
  71.